The present invention relates generally to wireless data communications, and more particularly to a method and apparatus for establishing at a given wireless node, the availability of neighboring nodes for communications and certain characteristics of these neighboring nodes.
It is desirable to provide wireless data communications services comparable to those available via wired links. However, the physical limitations inherent in wireless communications prevent the ready adaptation of protocols developed in the wired context to wireless applications. In particular, protocols that require nodes in a network to collect and take advantage of information about the other nodes with which they may communicate do not readily transfer to the wireless context.
One example of a wired communications protocol unsuitable for wireless application is the CSMA/CD multiple access protocol commonly used to resolve shared media contention in local area networks (LANs). This link layer protocol takes advantage of so-called carrier sensing to reduce the frequency of collisions on a shared medium. When one node coupled to the shared medium is transmitting, other nodes can sense this and stay off the medium until it is free.
Radio-based protocols, despite relying on a shared medium, cannot usually rely on carrier sensing. In the first place, it is fairly difficult and time consuming to determine in a wireless context whether or not a transmitter is active. Furthermore, another obstacle to the successful application of carrier sensing techniques is that the physical medium used by wireless communications is not shared in the same sense as the LAN medium is shared. In the LAN context, a node that can talk to one node, can talk to and be heard by all nodes. In the wireless context, a node A may be able to communicate with a node B that itself can communicate with a node C while node A cannot itself communicate with node C. Thus, a transmission from node C to node B could interfere with a transmission from node A to node B, even though node A cannot hear node C and thus would not know to inhibit itself from transmitting while node C is transmitting. This is the so-called hidden terminal problem. If only node C can communicate with a node D, another problem would arise in that a transmission from B to A would inhibit a transmission from C to D even though D would not be able to hear B. This is the so-called exposed terminal problem.
Another such protocol unsuitable for wireless application is the Address Resolution Protocol (ARP). ARP is a network layer protocol belonging to the Internet Protocol (IP) suite and is widely used to translate IP addresses into LAN addresses. Typically, to support address translation by ARP, a node connected to a LAN that needs to translate an IP address into a LAN link layer address sends out an ARP broadcast message specifying the IP address. The LAN node having that IP address then responds to the ARP broadcast message with a message including the IP address and LAN address. Unfortunately, broadcasting ARP messages to acquire link layer addresses is impractical in the wireless context because all nodes cannot hear a single broadcast and thus the ARP messages would have to be endlessly relayed, causing congestion and degradation of network performance.
Other problems related to knowledge of neighboring nodes arise in the area of routing protocols. Protocols used to establish routing information in wired systems such as the Open Shortest Path First (OSPF) protocol used in IP require complex synchronization of routing information between adjacent nodes and do not take into account the less reliable nature of wireless links, in that some connections may be asymmetric (one way channel), and that wireless links in general will have a high bit error rate. Nor do they take into account that, for wireless links, transmission and processing delays vary on a per link basis.